Desktop migrations have become commonplace as users frequently upgrade operating systems, purchase new hardware, and perform disaster recovery. Generally, desktop images are tightly coupled with applications installed thereon and this coupling presents special challenges during desktop migrations. For example, when a user migrates from one version of an operating system (e.g., Windows® XP) to another (e.g., Windows® 7), it is typical for the user to lose all of the installed applications and configurations. In order to recover them, the user needs to go through the cumbersome process of manually reinstalling applications and reconfiguring them after upgrading to the new version of the operating system.
Similar challenges are present when a desktop running on a physical machine is migrated to a cloud-based environment (or simply, the “cloud”) that employs a client-server computing model for enabling desktop virtualization, wherein the “virtualized” desktop, including all of the programs, applications, processes, and data, resides in a remote central server, instead of the local machine, and users access their virtualized desktops through client software running locally on their physical machines. Known physical-to-virtual (P2V) techniques for full conversion of physical machines to virtual machines (VMs) are not appropriate solutions for desktop migration to the cloud, in situations where the base operating system changes or there is insufficient storage to replicate complete desktop images. Another issue is that P2V techniques have bandwidth transmission requirements that are much higher than bandwidth that can be provided by network links typically connected to laptop and desktop users. In addition, where desktop images of multiple users are migrated to the cloud and the migrated desktop images include the same applications, migration using P2V techniques results in inefficient use of cloud storage and increased cost of running the cloud, because the same applications are stored redundantly in the cloud.